﻿using System;

namespace AvisoSuporte.Model
{
    public class WorkItem
    {
        #region Propriedades Públicas

        /// <summary>
        /// ID do Work Item
        /// </summary>
        public int ID 
        {
            get;
            set;
        }

        /// <summary>
        /// Módulo referenciado no WorkItem. Ex.: SinaOMF, SinaORD
        /// </summary>
        public string AreaPath
        {
            get;
            set;
        }

        /// <summary>
        /// Tipo do Work Item. Ex.: Bug, Task
        /// </summary>
        public string WorkItemType
        {
            get;
            set;
        }

        /// <summary>
        /// Estado em quem o Work Item se encontra. Ex.: Ativo, Análise
        /// </summary>
        public string State
        {
            get;
            set;
        }

        /// <summary>
        /// Indica com quem o Work Item está
        /// </summary>
        public string AssignedTo
        {
            get;
            set;
        }

        /// <summary>
        /// Título do Work Item
        /// </summary>
        public string Title
        {
            get;
            set;
        }

        /// <summary>
        /// Data de abertura do Work Item
        /// </summary>
        public DateTime StartDate
        {
            get;
            set;
        }

        /// <summary>
        /// Data de Término do Work Item
        /// </summary>
        public DateTime FinishDate
        {
            get;
            set;
        }

        /// <summary>
        /// Prioridade do Bug. Ex.: Imediato, Normal
        /// </summary>
        public string Rank
        {
            get;
            set;
        }

        /// <summary>
        /// Data de alteração do Work Item
        /// </summary>
        public DateTime ChangedDate
        {
            get;
            set;
        }

        /// <summary>
        /// Incidente no Remedy
        /// </summary>
        public string Remedy
        {
            get;
            set;
        }

        /// <summary>
        /// Data de início realizado
        /// </summary>
        public DateTime StartDateRealized
        {
            get;
            set;
        }

        /// <summary>
        /// Data de término realizado
        /// </summary>
        public DateTime FinishDateRealized
        {
            get;
            set;
        }

        /// <summary>
        /// Quantidade de horas Realizadas no Work Item
        /// </summary>
        public double HoursRealized
        {
            get;
            set;
        }

        /// <summary>
        /// Quantidade de horas previstas pro Work Item
        /// </summary>
        public double HoursPlanned
        {
            get;
            set;
        }

        /// <summary>
        /// Indica quem criou o Work Item
        /// </summary>
        public string CreatedBy
        {
            get;
            set;
        }

        /// <summary>
        /// Indica qual tecnologia o Work Item se refere. Ex.: Centura, .Net, Site
        /// </summary>
        public string Technology
        {
            get;
            set;
        }

        /// <summary>
        /// Descrição do Work Item
        /// </summary>
        public string Description
        {
            get;
            set;
        }

        /// <summary>
        /// Data de Criação do Work Item
        /// </summary>
        public DateTime CreatedDate
        {
            get;
            set;
        }

        /// <summary>
        /// Nome do Work Item
        /// </summary>
        public string TeamProject
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        public bool NaoCorrigido
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        public string CorrigidoPor
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        public DateTime DataNaoCorrigido
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        public bool Cancelado
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        public DateTime DataCancelamento
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        public bool PendenciaExterna
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        public string FatorGerador
        {
            get;
            set;
        }

        #endregion
    }
}
